MkClassDiagram
Node to display the class hierarchy of a class. Supports multiple modes.¶
Example: Baseclass diagram¶
graph TD
94875594096432["mkclassdiagram.MkClassDiagram"]
94875593528528["mkdiagram.MkDiagram"]
94875593791856["mkcode.MkCode"]
94875590900096["mkcontainer.MkContainer"]
94875594508576["mknode.MkNode"]
94875592833088["node.Node"]
140216716431552["builtins.object"]
94875593528528 --> 94875594096432
94875593791856 --> 94875593528528
94875590900096 --> 94875593791856
94875594508576 --> 94875590900096
94875592833088 --> 94875594508576
140216716431552 --> 94875592833088
```` mermaid
graph TD
94875594096432["mkclassdiagram.MkClassDiagram"]
94875593528528["mkdiagram.MkDiagram"]
94875593791856["mkcode.MkCode"]
94875590900096["mkcontainer.MkContainer"]
94875594508576["mknode.MkNode"]
94875592833088["node.Node"]
140216716431552["builtins.object"]
94875593528528 --> 94875594096432
94875593791856 --> 94875593528528
94875590900096 --> 94875593791856
94875594508576 --> 94875590900096
94875592833088 --> 94875594508576
140216716431552 --> 94875592833088
````
<pre class="mermaid"><code>graph TD
94875594096432["mkclassdiagram.MkClassDiagram"]
94875593528528["mkdiagram.MkDiagram"]
94875593791856["mkcode.MkCode"]
94875590900096["mkcontainer.MkContainer"]
94875594508576["mknode.MkNode"]
94875592833088["node.Node"]
140216716431552["builtins.object"]
94875593528528 --> 94875594096432
94875593791856 --> 94875593528528
94875590900096 --> 94875593791856
94875594508576 --> 94875590900096
94875592833088 --> 94875594508576
140216716431552 --> 94875592833088</code></pre>
Example: Subclass diagram¶
graph LR
94875590900096["mkcontainer.MkContainer"]
94875590901088["mkblock.MkBlock"]
94875592467872["mkhtmlblock.MkHtmlBlock"]
94875593124432["mkdetailsblock.MkDetailsBlock"]
94875594611152["mktabs.MkTabBlock"]
94875593125424["mkadmonition.MkAdmonition"]
94875593126416["mkblockquote.MkBlockQuote"]
94875593791856["mkcode.MkCode"]
94875593528528["mkdiagram.MkDiagram"]
94875594096432["mkclassdiagram.MkClassDiagram"]
94875593403936["mkpipdeptree.MkPipDepTree"]
94875593394720["mktreeview.MkTreeView"]
94875592700464["mktemplate.MkTemplate"]
94875593077824["mkclidoc.MkCliDoc"]
94875593510096["mkmaterialbadge.MkMaterialBadge"]
94875593659616["mkimagecompare.MkImageCompare"]
94875593663728["mkimageslideshow.MkImageSlideshow"]
94875593068272["mkiframe.MkIFrame"]
94875590125488["mkcard.MkCard"]
94875592689456["mkinstallguide.MkInstallGuide"]
94875594302832["mkcodeofconduct.MkCodeOfConduct"]
94875594298720["mkcommitconventions.MkCommitConventions"]
94875594477520["mkpullrequestguidelines.MkPullRequestGuidelines"]
94875593773680["mkdevenvsetup.MkDevEnvSetup"]
94875593778576["mkdevtools.MkDevTools"]
94875594101552["mkreprrawrendered.MkReprRawRendered"]
94875593935504["mkcommandoutput.MkCommandOutput"]
94875594293872["mkcommentedcode.MkCommentedCode"]
94875594734320["mkconfigsetting.MkConfigSetting"]
94875593928256["mkpluginflow.MkPluginFlow"]
94875593514080["mklist.MkList"]
94875593531088["mkbasetable.MkBaseTable"]
94875594609376["mktable.MkTable"]
94875592865136["mkhtmltable.MkHtmlTable"]
94875594612144["mktabs.MkTab"]
94875592265120["mktabcontainer.MkTabContainer"]
94875592266896["mktabbedblocks.MkTabbedBlocks"]
94875592269712["mktabbed.MkTabbed"]
94875593444560["mkcritic.MkCritic"]
94875593445552["mkannotations.MkAnnotation"]
94875590120592["mkannotations.MkAnnotations"]
94875592268672["mkfootnotes.MkFootNote"]
94875590123920["mkfootnotes.MkFootNotes"]
94875593071040["mkdefinitionlist.MkDefinition"]
94875593072032["mkdefinitionlist.MkDefinitionList"]
94875593324032["mkpage.MkPage"]
94875592382352["mktemplatepage.MkTemplatePage"]
94875594603984["mkclasspage.MkClassPage"]
94875592380960["mkmodulepage.MkModulePage"]
94875593326592["mkshowcase.MkShowcase"]
94875592912592["mkspeechbubble.MkSpeechBubble"]
94875592918480["mktasklist.MkTask"]
94875592914368["mktasklist.MkTaskList"]
94875594635696["mktimeline.MkTimeline"]
94875593585968["mkshields.MkShields"]
94875593933728["mkmetadatabadges.MkMetadataBadges"]
94875590900096 --> 94875590901088
94875590901088 --> 94875592467872
94875590901088 --> 94875593124432
94875590901088 --> 94875594611152
94875590900096 --> 94875593125424
94875590900096 --> 94875593126416
94875590900096 --> 94875593791856
94875593791856 --> 94875593528528
94875593528528 --> 94875594096432
94875593528528 --> 94875593403936
94875593791856 --> 94875593394720
94875590900096 --> 94875592700464
94875592700464 --> 94875593077824
94875592700464 --> 94875593510096
94875592700464 --> 94875593659616
94875592700464 --> 94875593663728
94875592700464 --> 94875593068272
94875592700464 --> 94875590125488
94875592700464 --> 94875592689456
94875592700464 --> 94875594302832
94875592700464 --> 94875594298720
94875592700464 --> 94875594477520
94875592700464 --> 94875593773680
94875592700464 --> 94875593778576
94875592700464 --> 94875594101552
94875592700464 --> 94875593935504
94875592700464 --> 94875594293872
94875592700464 --> 94875594734320
94875592700464 --> 94875593928256
94875590900096 --> 94875593514080
94875590900096 --> 94875593531088
94875593531088 --> 94875594609376
94875593531088 --> 94875592865136
94875590900096 --> 94875594612144
94875590900096 --> 94875592265120
94875592265120 --> 94875592266896
94875592265120 --> 94875592269712
94875590900096 --> 94875593444560
94875590900096 --> 94875593445552
94875590900096 --> 94875590120592
94875590900096 --> 94875592268672
94875590900096 --> 94875590123920
94875590900096 --> 94875593071040
94875590900096 --> 94875593072032
94875590900096 --> 94875593324032
94875593324032 --> 94875592382352
94875592382352 --> 94875594603984
94875592382352 --> 94875592380960
94875590900096 --> 94875593326592
94875590900096 --> 94875592912592
94875590900096 --> 94875592918480
94875590900096 --> 94875592914368
94875590900096 --> 94875594635696
94875590900096 --> 94875593585968
94875590900096 --> 94875593933728
```` mermaid
graph LR
94875590900096["mkcontainer.MkContainer"]
94875590901088["mkblock.MkBlock"]
94875592467872["mkhtmlblock.MkHtmlBlock"]
94875593124432["mkdetailsblock.MkDetailsBlock"]
94875594611152["mktabs.MkTabBlock"]
94875593125424["mkadmonition.MkAdmonition"]
94875593126416["mkblockquote.MkBlockQuote"]
94875593791856["mkcode.MkCode"]
94875593528528["mkdiagram.MkDiagram"]
94875594096432["mkclassdiagram.MkClassDiagram"]
94875593403936["mkpipdeptree.MkPipDepTree"]
94875593394720["mktreeview.MkTreeView"]
94875592700464["mktemplate.MkTemplate"]
94875593077824["mkclidoc.MkCliDoc"]
94875593510096["mkmaterialbadge.MkMaterialBadge"]
94875593659616["mkimagecompare.MkImageCompare"]
94875593663728["mkimageslideshow.MkImageSlideshow"]
94875593068272["mkiframe.MkIFrame"]
94875590125488["mkcard.MkCard"]
94875592689456["mkinstallguide.MkInstallGuide"]
94875594302832["mkcodeofconduct.MkCodeOfConduct"]
94875594298720["mkcommitconventions.MkCommitConventions"]
94875594477520["mkpullrequestguidelines.MkPullRequestGuidelines"]
94875593773680["mkdevenvsetup.MkDevEnvSetup"]
94875593778576["mkdevtools.MkDevTools"]
94875594101552["mkreprrawrendered.MkReprRawRendered"]
94875593935504["mkcommandoutput.MkCommandOutput"]
94875594293872["mkcommentedcode.MkCommentedCode"]
94875594734320["mkconfigsetting.MkConfigSetting"]
94875593928256["mkpluginflow.MkPluginFlow"]
94875593514080["mklist.MkList"]
94875593531088["mkbasetable.MkBaseTable"]
94875594609376["mktable.MkTable"]
94875592865136["mkhtmltable.MkHtmlTable"]
94875594612144["mktabs.MkTab"]
94875592265120["mktabcontainer.MkTabContainer"]
94875592266896["mktabbedblocks.MkTabbedBlocks"]
94875592269712["mktabbed.MkTabbed"]
94875593444560["mkcritic.MkCritic"]
94875593445552["mkannotations.MkAnnotation"]
94875590120592["mkannotations.MkAnnotations"]
94875592268672["mkfootnotes.MkFootNote"]
94875590123920["mkfootnotes.MkFootNotes"]
94875593071040["mkdefinitionlist.MkDefinition"]
94875593072032["mkdefinitionlist.MkDefinitionList"]
94875593324032["mkpage.MkPage"]
94875592382352["mktemplatepage.MkTemplatePage"]
94875594603984["mkclasspage.MkClassPage"]
94875592380960["mkmodulepage.MkModulePage"]
94875593326592["mkshowcase.MkShowcase"]
94875592912592["mkspeechbubble.MkSpeechBubble"]
94875592918480["mktasklist.MkTask"]
94875592914368["mktasklist.MkTaskList"]
94875594635696["mktimeline.MkTimeline"]
94875593585968["mkshields.MkShields"]
94875593933728["mkmetadatabadges.MkMetadataBadges"]
94875590900096 --> 94875590901088
94875590901088 --> 94875592467872
94875590901088 --> 94875593124432
94875590901088 --> 94875594611152
94875590900096 --> 94875593125424
94875590900096 --> 94875593126416
94875590900096 --> 94875593791856
94875593791856 --> 94875593528528
94875593528528 --> 94875594096432
94875593528528 --> 94875593403936
94875593791856 --> 94875593394720
94875590900096 --> 94875592700464
94875592700464 --> 94875593077824
94875592700464 --> 94875593510096
94875592700464 --> 94875593659616
94875592700464 --> 94875593663728
94875592700464 --> 94875593068272
94875592700464 --> 94875590125488
94875592700464 --> 94875592689456
94875592700464 --> 94875594302832
94875592700464 --> 94875594298720
94875592700464 --> 94875594477520
94875592700464 --> 94875593773680
94875592700464 --> 94875593778576
94875592700464 --> 94875594101552
94875592700464 --> 94875593935504
94875592700464 --> 94875594293872
94875592700464 --> 94875594734320
94875592700464 --> 94875593928256
94875590900096 --> 94875593514080
94875590900096 --> 94875593531088
94875593531088 --> 94875594609376
94875593531088 --> 94875592865136
94875590900096 --> 94875594612144
94875590900096 --> 94875592265120
94875592265120 --> 94875592266896
94875592265120 --> 94875592269712
94875590900096 --> 94875593444560
94875590900096 --> 94875593445552
94875590900096 --> 94875590120592
94875590900096 --> 94875592268672
94875590900096 --> 94875590123920
94875590900096 --> 94875593071040
94875590900096 --> 94875593072032
94875590900096 --> 94875593324032
94875593324032 --> 94875592382352
94875592382352 --> 94875594603984
94875592382352 --> 94875592380960
94875590900096 --> 94875593326592
94875590900096 --> 94875592912592
94875590900096 --> 94875592918480
94875590900096 --> 94875592914368
94875590900096 --> 94875594635696
94875590900096 --> 94875593585968
94875590900096 --> 94875593933728
````
<pre class="mermaid"><code>graph LR
94875590900096["mkcontainer.MkContainer"]
94875590901088["mkblock.MkBlock"]
94875592467872["mkhtmlblock.MkHtmlBlock"]
94875593124432["mkdetailsblock.MkDetailsBlock"]
94875594611152["mktabs.MkTabBlock"]
94875593125424["mkadmonition.MkAdmonition"]
94875593126416["mkblockquote.MkBlockQuote"]
94875593791856["mkcode.MkCode"]
94875593528528["mkdiagram.MkDiagram"]
94875594096432["mkclassdiagram.MkClassDiagram"]
94875593403936["mkpipdeptree.MkPipDepTree"]
94875593394720["mktreeview.MkTreeView"]
94875592700464["mktemplate.MkTemplate"]
94875593077824["mkclidoc.MkCliDoc"]
94875593510096["mkmaterialbadge.MkMaterialBadge"]
94875593659616["mkimagecompare.MkImageCompare"]
94875593663728["mkimageslideshow.MkImageSlideshow"]
94875593068272["mkiframe.MkIFrame"]
94875590125488["mkcard.MkCard"]
94875592689456["mkinstallguide.MkInstallGuide"]
94875594302832["mkcodeofconduct.MkCodeOfConduct"]
94875594298720["mkcommitconventions.MkCommitConventions"]
94875594477520["mkpullrequestguidelines.MkPullRequestGuidelines"]
94875593773680["mkdevenvsetup.MkDevEnvSetup"]
94875593778576["mkdevtools.MkDevTools"]
94875594101552["mkreprrawrendered.MkReprRawRendered"]
94875593935504["mkcommandoutput.MkCommandOutput"]
94875594293872["mkcommentedcode.MkCommentedCode"]
94875594734320["mkconfigsetting.MkConfigSetting"]
94875593928256["mkpluginflow.MkPluginFlow"]
94875593514080["mklist.MkList"]
94875593531088["mkbasetable.MkBaseTable"]
94875594609376["mktable.MkTable"]
94875592865136["mkhtmltable.MkHtmlTable"]
94875594612144["mktabs.MkTab"]
94875592265120["mktabcontainer.MkTabContainer"]
94875592266896["mktabbedblocks.MkTabbedBlocks"]
94875592269712["mktabbed.MkTabbed"]
94875593444560["mkcritic.MkCritic"]
94875593445552["mkannotations.MkAnnotation"]
94875590120592["mkannotations.MkAnnotations"]
94875592268672["mkfootnotes.MkFootNote"]
94875590123920["mkfootnotes.MkFootNotes"]
94875593071040["mkdefinitionlist.MkDefinition"]
94875593072032["mkdefinitionlist.MkDefinitionList"]
94875593324032["mkpage.MkPage"]
94875592382352["mktemplatepage.MkTemplatePage"]
94875594603984["mkclasspage.MkClassPage"]
94875592380960["mkmodulepage.MkModulePage"]
94875593326592["mkshowcase.MkShowcase"]
94875592912592["mkspeechbubble.MkSpeechBubble"]
94875592918480["mktasklist.MkTask"]
94875592914368["mktasklist.MkTaskList"]
94875594635696["mktimeline.MkTimeline"]
94875593585968["mkshields.MkShields"]
94875593933728["mkmetadatabadges.MkMetadataBadges"]
94875590900096 --> 94875590901088
94875590901088 --> 94875592467872
94875590901088 --> 94875593124432
94875590901088 --> 94875594611152
94875590900096 --> 94875593125424
94875590900096 --> 94875593126416
94875590900096 --> 94875593791856
94875593791856 --> 94875593528528
94875593528528 --> 94875594096432
94875593528528 --> 94875593403936
94875593791856 --> 94875593394720
94875590900096 --> 94875592700464
94875592700464 --> 94875593077824
94875592700464 --> 94875593510096
94875592700464 --> 94875593659616
94875592700464 --> 94875593663728
94875592700464 --> 94875593068272
94875592700464 --> 94875590125488
94875592700464 --> 94875592689456
94875592700464 --> 94875594302832
94875592700464 --> 94875594298720
94875592700464 --> 94875594477520
94875592700464 --> 94875593773680
94875592700464 --> 94875593778576
94875592700464 --> 94875594101552
94875592700464 --> 94875593935504
94875592700464 --> 94875594293872
94875592700464 --> 94875594734320
94875592700464 --> 94875593928256
94875590900096 --> 94875593514080
94875590900096 --> 94875593531088
94875593531088 --> 94875594609376
94875593531088 --> 94875592865136
94875590900096 --> 94875594612144
94875590900096 --> 94875592265120
94875592265120 --> 94875592266896
94875592265120 --> 94875592269712
94875590900096 --> 94875593444560
94875590900096 --> 94875593445552
94875590900096 --> 94875590120592
94875590900096 --> 94875592268672
94875590900096 --> 94875590123920
94875590900096 --> 94875593071040
94875590900096 --> 94875593072032
94875590900096 --> 94875593324032
94875593324032 --> 94875592382352
94875592382352 --> 94875594603984
94875592382352 --> 94875592380960
94875590900096 --> 94875593326592
94875590900096 --> 94875592912592
94875590900096 --> 94875592918480
94875590900096 --> 94875592914368
94875590900096 --> 94875594635696
94875590900096 --> 94875593585968
94875590900096 --> 94875593933728</code></pre>
Example: MRO diagram¶
graph TD
94875594609376["mktable.MkTable"]
94875593531088["mkbasetable.MkBaseTable"]
94875590900096["mkcontainer.MkContainer"]
94875594508576["mknode.MkNode"]
94875592833088["node.Node"]
140216716431552["builtins.object"]
94875594609376 --> 94875593531088
94875593531088 --> 94875590900096
94875590900096 --> 94875594508576
94875594508576 --> 94875592833088
94875592833088 --> 140216716431552
```` mermaid
graph TD
94875594609376["mktable.MkTable"]
94875593531088["mkbasetable.MkBaseTable"]
94875590900096["mkcontainer.MkContainer"]
94875594508576["mknode.MkNode"]
94875592833088["node.Node"]
140216716431552["builtins.object"]
94875594609376 --> 94875593531088
94875593531088 --> 94875590900096
94875590900096 --> 94875594508576
94875594508576 --> 94875592833088
94875592833088 --> 140216716431552
````
<pre class="mermaid"><code>graph TD
94875594609376["mktable.MkTable"]
94875593531088["mkbasetable.MkBaseTable"]
94875590900096["mkcontainer.MkContainer"]
94875594508576["mknode.MkNode"]
94875592833088["node.Node"]
140216716431552["builtins.object"]
94875594609376 --> 94875593531088
94875593531088 --> 94875590900096
94875590900096 --> 94875594508576
94875594508576 --> 94875592833088
94875592833088 --> 140216716431552</code></pre>
Bases: MkDiagram
__init__
¶
__init__(
klass: type | str | Class,
mode: DiagramModeStr = "baseclasses",
direction: Literal["TD", "DT", "LR", "RL"] = "TD",
max_depth: int | None = None,
**kwargs: Any
)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
klass
|
type | str | Class
|
Klass to show a diagram for |
required |
mode
|
DiagramModeStr
|
What kind of diagram to display |
'baseclasses'
|
direction
|
Literal['TD', 'DT', 'LR', 'RL']
|
diagram direction |
'TD'
|
max_depth
|
int | None
|
Maxium depth to display |
None
|
kwargs
|
Any
|
Keyword arguments passed to parent |
{}
|
Name | Children | Inherits |
---|---|---|
MkDiagram mknodes.basenodes.mkdiagram Class representing a mermaid diagram. |
graph TD
94875594096432["mkclassdiagram.MkClassDiagram"]
94875593528528["mkdiagram.MkDiagram"]
94875593791856["mkcode.MkCode"]
94875590900096["mkcontainer.MkContainer"]
94875594508576["mknode.MkNode"]
94875592833088["node.Node"]
140216716431552["builtins.object"]
94875593528528 --> 94875594096432
94875593791856 --> 94875593528528
94875590900096 --> 94875593791856
94875594508576 --> 94875590900096
94875592833088 --> 94875594508576
140216716431552 --> 94875592833088
/home/runner/work/mknodes/mknodes/mknodes/templatenodes/mkclassdiagram/metadata.toml
[metadata]
icon = "mdi:graph-outline"
name = "MkClassDiagram"
group = "diagram"
[[requirements.extension."pymdownx.superfences".custom_fences]]
name = "mermaid"
class = "mermaid"
format = "pymdownx.superfences.fence_code_format"
[examples.baseclass_diagram]
title = "Baseclass diagram"
jinja = """
{{ _mk.MkClassDiagram | MkClassDiagram(mode="baseclasses") }}
"""
[examples.subclass_diagram]
title = "Subclass diagram"
jinja = """
{{ _mk.MkContainer | MkClassDiagram(mode="subclasses", direction="LR") }}
"""
[examples.mro_diagram]
title = "MRO diagram"
jinja = """
{{ _mk.MkTable | MkClassDiagram(mode="mro") }}
"""
[output.markdown]
template = """
{{ node.fence_boundary }} mermaid
graph {{ node.direction }}
{% for identifier, title in node.builder.items | zip(node.builder.titles) %}
{{ identifier }}["{{ title }}"]
{% endfor %}
{% for a, b in node.builder.connections %}
{{ a }} --> {{ b }}
{% endfor %}
{{ node.fence_boundary }}
"""